// 引入api 获取用户信息
import { getwishdata, getwishdataByheat, getblessing, getblessingByheat, getconfession, getconfessionByheat } from "@/api/index";

const state = {
  wishdatatime: [], //时间排序的心愿墙数组
  wishdataheat: [], //热度排序的心愿墙数组
  blessingdatatime: [], //时间排序的祝福墙数组
  blessingdataheat: [], //热度排序的祝福墙数组
  confessiondatatime: [],//时间排序的表白墙数组
  confessiondataheat: [] //热度排序的表白墙数组
}
const mutations = {
  // 时间排序心愿墙数据赋值函数
  GETWISHDATA(state, data) {
    state.wishdatatime = data
  },
  // 时间排序更多心愿墙数据赋值函数
  GETWISHDATAMORE(state, data) {
    data.forEach(item => {
      state.wishdatatime.push(item)
    })
  },
  // 热度排序心愿墙数据赋值函数
  GETWISHDATABYHEAT(state, data) {
    console.log(data, '数据');
    state.wishdataheat = data
  },
  // 热度排序更多心愿墙数据赋值函数
  GETWISHDATABYHEATMORE(state, data) {
    data.forEach(item => {
      state.wishdataheat.push(item)
    })
  },
  // 祝福墙数据赋值函数
  // 时间排序
  GETBLESSING(state, data) {
    state.blessingdatatime = data
  },
  GETBLESSINGMORE(state, data) {
    data.forEach(item => {
      state.blessingdatatime.push(item)
    })
  },
  // 热度排序
  GETBLESSINGBYHEAT(state, data) {
    state.blessingdataheat = data
  },
  GETBLESSINGBYHEATMORE(state, data) {
    data.forEach(item => {
      state.blessingdataheat.push(item)
    })
  },
  // 心愿墙
  // 时间排序数据
  GETCOMFESSION(state, data) {
    state.confessiondatatime = data
  },
  GETCOMFESSIONMORE(state, data) {
    data.forEach(item => {
      state.confessiondatatime.push(item)
    })
  },
  // 热度
  GETCONFESSIONBYHEAT(state, data) {
    state.confessiondataheat = data
  },
  GETCONFESSIONBYHEATMORE(state, data) {
    data.forEach(item => {
      state.confessiondataheat.push(item)
    })
  },
}
const actions = {
  // 获取时间排序心愿墙数据
  async getwishdata({ commit }, num) {
    let result = await getwishdata(num)
    if (result.code === 200) {
      result.data.forEach((item) => {
        if (item.pic_walls) {
          item.pic_walls = item.pic_walls.split("___");
        }
      });
      // 判断数据是赋值还是追加
      if (num === 0) {
        commit('GETWISHDATA', result.data)
      } else {
        commit('GETWISHDATAMORE', result.data)
      }
      // 判断获取数据长度来控制是否还能继续请求
      if (result.data.length < 5) {
        return { result: false, message: '已经没有更多数据了哦' }
      } else {
        return { result: true }
      }
    } else {
      // 失败的回调
      return { result: false, message: result.message }
    }
  },
  // 获取热度排序心愿墙数据
  async getwishdataByheat({ commit }, num) {
    let result = await getwishdataByheat(num)
    if (result.code === 200) {
      result.data.forEach((item) => {
        if (item.pic_walls) {
          item.pic_walls = item.pic_walls.split("___");
        }
      });
      // 判断数据是赋值还是追加
      if (num === 0) {
        commit('GETWISHDATABYHEAT', result.data)
      } else {
        commit('GETWISHDATABYHEATMORE', result.data)
      }
      if (result.data.length < 5) {
        return { result: false, message: '已经没有更多数据了哦' }
      } else {
        return { result: true }
      }
    } else {
      // 失败的回调
      return { result: false, message: result.message }
    }
  },
  // 获取时间排序祝福墙数据
  async getblessing({ commit }, num) {
    let result = await getblessing(num)
    if (result.code === 200) {
      result.data.forEach((item) => {
        if (item.pic_walls) {
          item.pic_walls = item.pic_walls.split("___");
        }
      });
      // 判断数据是赋值还是追加
      if (num === 0) {
        commit('GETBLESSING', result.data)
      } else {
        commit('GETBLESSINGMORE', result.data)
      }
      if (result.data.length < 5) {
        return { result: false, message: '已经没有更多数据了哦' }
      } else {
        return { result: true }
      }
    } else {
      // 失败的回调
      return { result: false, message: result.message }
    }
  },
  // 获取热度排序祝福墙数据
  async getblessingByheat({ commit }, num) {
    let result = await getblessingByheat(num)
    if (result.code === 200) {
      result.data.forEach((item) => {
        if (item.pic_walls) {
          item.pic_walls = item.pic_walls.split("___");
        }
      });
      // 判断数据是赋值还是追加
      if (num === 0) {
        commit('GETBLESSINGBYHEAT', result.data)
      } else {
        commit('GETBLESSINGBYHEATMORE', result.data)
      }
      if (result.data.length < 5) {
        return { result: false, message: '已经没有更多数据了哦' }
      } else {
        return { result: true }
      }
    } else {
      // 失败的回调
      return { result: false, message: result.message }
    }
  },
  // 获取时间排序表白墙数据
  async getconfession({ commit }, num) {
    let result = await getconfession(num)
    if (result.code === 200) {
      result.data.forEach((item) => {
        if (item.pic_walls) {
          item.pic_walls = item.pic_walls.split("___");
        }
      });
      // 判断数据是赋值还是追加
      if (num === 0) {
        commit('GETCOMFESSION', result.data)
      } else {
        commit('GETCOMFESSIONMORE', result.data)
      }
      if (result.data.length < 5) {
        return { result: false, message: '已经没有更多数据了哦' }
      } else {
        return { result: true }
      }
    } else {
      // 失败的回调
      return { result: false, message: result.message }
    }
  },
  // 获取热度排序表白墙数据
  async getconfessionByheat({ commit }, num) {
    let result = await getconfessionByheat(num)
    if (result.code === 200) {
      result.data.forEach((item) => {
        if (item.pic_walls) {
          item.pic_walls = item.pic_walls.split("___");
        }
      });
      // 判断数据是赋值还是追加
      if (num === 0) {
        commit('GETCONFESSIONBYHEAT', result.data)
      } else {
        commit('GETCONFESSIONBYHEATMORE', result.data)
      }
      if (result.data.length < 5) {
        return { result: false, message: '已经没有更多数据了哦' }
      } else {
        return { result: true }
      }
    } else {
      // 失败的回调
      return { result: false, message: result.message }
    }
  }
}
const getters = {}
export default {
  state,
  mutations,
  actions,
  getters
}